Components Required
- Arduino Uno:
- 16x2 LCD Display:
- Flame Sensor
- Buzzer
- 10K Preset
About 16x2 LCD Display
The name "16x2 LCD display" comes from the fact that it has 16 columns and 2 rows, meaning we can display 32 characters on this screen. Characters can be alphabets, numbers, or custom-made characters. Each column is made from a 5x8 matrix of pixels (40 pixels per column).
- Operating voltage: 4.7V to 5.3V
- Current consumption: 1mA without backlight
- Alphanumeric display: can show alphabets and numbers
- Works in both 8-bit and 4-bit mode
- Available in Green and Blue backlight
Pinouts
- 1. Vss: Connect to GND
- 2. Vdd: +5V (4.7V–5.3V)
- 3. VEE: Contrast adjustment
- 4. RS: Command/data register
- 5. R/W: Normally GND (write mode)
- 6. Enable: Activates read/write
- 7. Data bit 0:- To microcontroller to send 8 bit data
- 8. Data bit 1:- To microcontroller to send 8 bit data
- 9. Data bit 2:- To microcontroller to send 8 bit data
- 10. Data bit 3:- To microcontroller to send 8 bit data
- 11. Data bit 4:- To microcontroller to send 4/8 bit data
- 12. Data bit 5:- To microcontroller to send 4/8 bit data
- 13. Data bit 6:- To microcontroller to send 4/8 bit data
- 14. Data bit 7:- To microcontroller to send 4/8 bit data
- 15. LED+: Backlight
- 16. LED-: Backlight
LCD Display Interfacing with Arduino
VSS and LED- are grounded. VCC and LED+ connect to Arduino’s 5V. A Preset is connected to VEE to adjust contrast. LCD pins are connected as follows:
- 1. VSS and LED- pin of LCD are combined together and are grounded.
- 2. VCC and LED+ pin of LCD are combined together and is connected to 5v pin of Arduino.
- 3. Then connect a Preset to VEE to adjust the contrast of LCD by varying the knob of Preset.
- 4. Then connect RS pin of LCD to 6th pin of Arduino and R/W pin of LCD to 7th pin of Arduino.
- 5. Then connect E pin of LCD to 8th pin of Arduino.
- 6. Then connect DB4 pin of LCD to 9th pin of Arduino, DB5 pin to 10th pin , DB6 pin to 11th pin and DB7 to 12th pin of Arduino.
- 7. Connect 1 terminal of toggle switch to 5 V and it's other terminal to A0 pin.
About Flame Sensor
Flame sensor is a type of detector , whose function is to detect presence of Flame. If a flame is detected, It provides a digital output signal with logic 0 and if no flame is present, then a digital output of logic 1.
Pinouts
- 1. VCC:- Connect +5Volts over here
- 2. GND:- Connect GND or 0V over here
- 3.DO:- Digital Output from module
Interfacing Flame sensor and buzzer with Arduino
- 1. Connect Flame sensor with Arduino by connecting VCC pin to 5 V of Arduino
- 2. Connect GND pin of Flame sensor to GND pin of Arduino.
- 3. Connect DO pin of flame sensor to A0 pin of Arduino.
- 4. Connect Red wire of Buzzer to A1 pin of Arduino
- 4. Connect Black wire of Buzzer to GND pin of Arduino
Circuit Diagram

Arduino Code
#include <LiquidCrystal.h>
LiquidCrystal lcd(6,7,8,9,10,11,12);
int flame,sensor=A0,detected=0,buzzer=A1;
void setup()
{
pinMode(sensor,INPUT);
pinMode(buzzer,OUTPUT);
lcd.begin(16,2);
}
void loop()
{
flame=digitalRead(sensor);
lcd.clear();
if(flame==detected)
{
lcd.print("Fire detected");
lcd.setCursor(0,1);
lcd.print("alarms are on");
digitalWrite(buzzer,HIGH);
}
else
{
lcd.print("All set");
lcd.setCursor(0,1);
lcd.print("alarms are off");
digitalWrite(buzzer,LOW);
}
delay(100);
}